<?php
/**
 * @see Zend_View_Helper_FormElement
 */
require_once 'Zend/View/Helper/FormElement.php';

/**
 * Помощник вида, реализующий множественных выбор разделов сайта
 * 
 * @category Phorm
 * @package View_Helper
 * @name /Phorm/View/Helper/FormMultiCategories.php
 * @copyright phorm.ru
 * @since 30.01.2011
 * @author vladimir@kachalov.net
 */

class Phorm_View_Helper_FormMultiAcl extends Zend_View_Helper_FormElement {

	protected $_translate;
	
	/**
	 * Рисуем элемент формы
	 *
	 * @param string $name Имя HTML-элемента
	 * @param array $value Массив значений
	 * @param array $attribs Массив атрибутов элемента
	 * @param array $options Массив опций
	 * @return string
	 */
    
	public function formMultiAcl($name, $value = array(), $attribs = array(), $options = array()) {
		
		$info = $this->_getInfo($name, $value, $attribs, $options);
        extract($info);
        
        $xhtml  = '<table>' . PHP_EOL;
        
        foreach ($attribs['roles'] as $roleid=>$rolename) {
        	
        	$lvlname = $name . '[' . $roleid . ']';
        	$lvlvalue = is_array($value) && isset($value[$roleid]) ? $value[$roleid] : null;
        	
        	$xhtml .= '<tr><td>' . $rolename . '</td>';
        	$xhtml .= '<td>' . $this->view->formSelect($lvlname, $lvlvalue, isset($attribs['class']) ? array('class'=>$attribs['class']) : null, $attribs['levels']) . '</td></tr>' . PHP_EOL;
        	
        }
        
        $xhtml .= '</table>' . PHP_EOL;
        
        return $xhtml;
		
	}
	
}